1. Field of the Invention
The present invention relates to systems that communicate across computer networks. More specifically, the present invention relates to a method and apparatus for optimizing content delivery on local subnets.
2. Related Art
In the recent past, the majority of local area networks were shared carrier networks. These shared carrier networks were typically unswitched, half-duplex networks. If one node on the network wanted to download a piece of content while all of the other nodes were inactive, the one node enjoyed virtually 100% of the available network bandwidth. However, if the one node was competing with another node on the local subnet for bandwidth, the bandwidth would theoretically be split between the two nodes, and the one node would see a transfer rate of about 50% of the previous transfer rate. The problem, however, is worse than this because each additional node on the network requires an increasing amount of network overhead to handle collision detection and collision avoidance.
With the emergence of low cost switches and increasing Ethernet speeds, these problems seem to have disappeared. On a switched network, traffic is routed to only the portions of the network where it is intended. Thus, two nodes on a switched network transferring files between themselves typically do not affect other clients on the same subnet.
Recent times, however, have brought new wireless networking technologies to the market place. While the majority of wireless networks provide a large number of benefits, they have at least one major drawback. Most wireless networks are shared carrier networks. This means that the bandwidth that each nodes consumes on the network decreases the bandwidth available to other nodes by at least that amount. While operating in “infrastructure mode,” when a first node on a wireless network communicates with a second node, the first node typically transmits data to an access point which relays the data to the second node. Thus, when two nodes are communicating on a wireless network in this way, they are able to use less than half of the theoretical capacity of the network. Add a handful of additional nodes to the mix, and it is easy to see how quickly the network performance deteriorates.
Businesses, which have been some of the earliest adopters of wireless networks, often encounter a situation where many clients on the same subnet require the same content. For example, when a company releases a new presentation or a software update, that content is often distributed to virtually all of the nodes on the network. Moreover, businesses often employ a subscription-based delivery service in which every node that will eventually need a specific item of content has a subscription to a category that the content belongs. Each node checks at random intervals to see if there are new pieces of content for their subscription categories. After a new item of content becomes available, each node will eventually perform its content check and will subsequently download the new item of content. In this way, each node will independently download the same item of content, which consumes a large amount of wireless networking bandwidth. For example, if there are 10 nodes on a wireless subnet, trying to access the same 100 MB file, the 100 MB may have to be downloaded 10 separate times across the wireless network. From this example it is easy to see how quickly the wireless subnet can be overwhelmed with traffic.
Hence, what is needed is a method and an apparatus for distributing content to clients on a local subnet in a manner that minimizes the problems described above.